package edu.hwadee.BEIS.entity;
// default package

import java.sql.Timestamp;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

import com.alibaba.fastjson.annotation.JSONField;
import org.hibernate.annotations.GenericGenerator;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.multipart.MultipartFile;


/**
 * SchoolCondition entity. @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "school_condition", catalog = "beis")

public class SchoolCondition implements java.io.Serializable {

	// Fields

	private Integer conditionId;
	private SchoolBasicInfor schoolBasic;
	private Integer diningSeatCount;
	private Integer bookCount;
	private Integer electronicBookCount;
	private Integer newspaperSubscriptionCount;
	private Integer journalSubscriptionCount;
	private Integer readingroomSeatCount;
	private Integer electronicReadingroomSeatCount;
	private Integer desktopCount;
	private Integer notebookCount;
	private String localAverageBudgetaryAppropriation; //文件路径
	private String localFinancialSpecialAllocation;
	private Float totalLiabilitie;
	private Float totalPayment;
	private Float educationalDeviceValue;
	private Integer educationalDeviceCount;
	private Short countyAuditStatus;
	private Short cityAuditStatus;

    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date modifyTime;



	// Constructors

	/** default constructor */
	public SchoolCondition() {
	}

	/** full constructor */
	public SchoolCondition(SchoolBasicInfor schoolBasic, Integer diningSeatCount, Integer bookCount,
			Integer electronicBookCount, Integer newspaperSubscriptionCount, Integer journalSubscriptionCount,
			Integer readingroomSeatCount, Integer electronicReadingroomSeatCount, Integer desktopCount,
			Integer notebookCount, String localAverageBudgetaryAppropriation, String localFinancialSpecialAllocation,
			Float totalLiabilitie, Float totalPayment, Float educationalDeviceValue, Integer educationalDeviceCount,
			Short countyAuditStatus, Short cityAuditStatus, Timestamp modifyTime) {
		this.schoolBasic = schoolBasic;
		this.diningSeatCount = diningSeatCount;
		this.bookCount = bookCount;
		this.electronicBookCount = electronicBookCount;
		this.newspaperSubscriptionCount = newspaperSubscriptionCount;
		this.journalSubscriptionCount = journalSubscriptionCount;
		this.readingroomSeatCount = readingroomSeatCount;
		this.electronicReadingroomSeatCount = electronicReadingroomSeatCount;
		this.desktopCount = desktopCount;
		this.notebookCount = notebookCount;
		this.localAverageBudgetaryAppropriation = localAverageBudgetaryAppropriation;
		this.localFinancialSpecialAllocation = localFinancialSpecialAllocation;
		this.totalLiabilitie = totalLiabilitie;
		this.totalPayment = totalPayment;
		this.educationalDeviceValue = educationalDeviceValue;
		this.educationalDeviceCount = educationalDeviceCount;
		this.countyAuditStatus = countyAuditStatus;
		this.cityAuditStatus = cityAuditStatus;
		this.modifyTime = modifyTime;
	}

	// Property accessors
	@GenericGenerator(name = "generator", strategy = "increment")
	@Id
	@GeneratedValue(generator = "generator")

	@Column(name = "condition_id", unique = true, nullable = false)

	public Integer getConditionId() {
		return this.conditionId;
	}

	public void setConditionId(Integer conditionId) {
		this.conditionId = conditionId;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "school_id", nullable = false)

	public SchoolBasicInfor getSchoolBasic() {
		return this.schoolBasic;
	}

	public void setSchoolBasic(SchoolBasicInfor schoolBasic) {
		this.schoolBasic = schoolBasic;
	}

	@Column(name = "dining_seat_count", nullable = false)

	public Integer getDiningSeatCount() {
		return this.diningSeatCount;
	}

	public void setDiningSeatCount(Integer diningSeatCount) {
		this.diningSeatCount = diningSeatCount;
	}

	@Column(name = "book_count", nullable = false)

	public Integer getBookCount() {
		return this.bookCount;
	}

	public void setBookCount(Integer bookCount) {
		this.bookCount = bookCount;
	}

	@Column(name = "electronic_book_count", nullable = false)

	public Integer getElectronicBookCount() {
		return this.electronicBookCount;
	}

	public void setElectronicBookCount(Integer electronicBookCount) {
		this.electronicBookCount = electronicBookCount;
	}

	@Column(name = "newspaper_subscription_count", nullable = false)

	public Integer getNewspaperSubscriptionCount() {
		return this.newspaperSubscriptionCount;
	}

	public void setNewspaperSubscriptionCount(Integer newspaperSubscriptionCount) {
		this.newspaperSubscriptionCount = newspaperSubscriptionCount;
	}

	@Column(name = "journal_subscription_count", nullable = false)

	public Integer getJournalSubscriptionCount() {
		return this.journalSubscriptionCount;
	}

	public void setJournalSubscriptionCount(Integer journalSubscriptionCount) {
		this.journalSubscriptionCount = journalSubscriptionCount;
	}

	@Column(name = "readingroom_seat_count", nullable = false)

	public Integer getReadingroomSeatCount() {
		return this.readingroomSeatCount;
	}

	public void setReadingroomSeatCount(Integer readingroomSeatCount) {
		this.readingroomSeatCount = readingroomSeatCount;
	}

	@Column(name = "electronic_readingroom_seat_count", nullable = false)

	public Integer getElectronicReadingroomSeatCount() {
		return this.electronicReadingroomSeatCount;
	}

	public void setElectronicReadingroomSeatCount(Integer electronicReadingroomSeatCount) {
		this.electronicReadingroomSeatCount = electronicReadingroomSeatCount;
	}

	@Column(name = "desktop_count", nullable = false)

	public Integer getDesktopCount() {
		return this.desktopCount;
	}

	public void setDesktopCount(Integer desktopCount) {
		this.desktopCount = desktopCount;
	}

	@Column(name = "notebook_count", nullable = false)

	public Integer getNotebookCount() {
		return this.notebookCount;
	}

	public void setNotebookCount(Integer notebookCount) {
		this.notebookCount = notebookCount;
	}

	@Column(name = "local_average_budgetary_appropriation", nullable = false, length = 100)

	public String getLocalAverageBudgetaryAppropriation() {
		return this.localAverageBudgetaryAppropriation;
	}

	public void setLocalAverageBudgetaryAppropriation(String localAverageBudgetaryAppropriation) {
		this.localAverageBudgetaryAppropriation = localAverageBudgetaryAppropriation;
	}

	@Column(name = "local_financial_special_allocation", nullable = false, length = 100)

	public String getLocalFinancialSpecialAllocation() {
		return this.localFinancialSpecialAllocation;
	}

	public void setLocalFinancialSpecialAllocation(String localFinancialSpecialAllocation) {
		this.localFinancialSpecialAllocation = localFinancialSpecialAllocation;
	}

	@Column(name = "total_liabilitie", nullable = false, precision = 12, scale = 0)

	public Float getTotalLiabilitie() {
		return this.totalLiabilitie;
	}

	public void setTotalLiabilitie(Float totalLiabilitie) {
		this.totalLiabilitie = totalLiabilitie;
	}

	@Column(name = "total_payment", nullable = false, precision = 12, scale = 0)

	public Float getTotalPayment() {
		return this.totalPayment;
	}

	public void setTotalPayment(Float totalPayment) {
		this.totalPayment = totalPayment;
	}

	@Column(name = "educational_device_value", nullable = false, precision = 12, scale = 0)

	public Float getEducationalDeviceValue() {
		return this.educationalDeviceValue;
	}

	public void setEducationalDeviceValue(Float educationalDeviceValue) {
		this.educationalDeviceValue = educationalDeviceValue;
	}

	@Column(name = "educational_device_count", nullable = false)

	public Integer getEducationalDeviceCount() {
		return this.educationalDeviceCount;
	}

	public void setEducationalDeviceCount(Integer educationalDeviceCount) {
		this.educationalDeviceCount = educationalDeviceCount;
	}

	@Column(name = "county_auditstatus", nullable = false)

	public Short getCountyAuditStatus() {
		return this.countyAuditStatus;
	}

	public void setCountyAuditStatus(Short countyAuditStatus) {
		this.countyAuditStatus = countyAuditStatus;
	}

	@Column(name = "city_auditstatus", nullable = false)

	public Short getCityAuditStatus() {
		return this.cityAuditStatus;
	}

	public void setCityAuditStatus(Short cityAuditStatus) {
		this.cityAuditStatus = cityAuditStatus;
	}

	@Column(name = "modify_time", nullable = false, length = 19)

	public Date getModifyTime() {
		return this.modifyTime;
	}

	public void setModifyTime(Date modifyTime) {
		this.modifyTime = modifyTime;
	}

}